#include "downloader_window.h"
#include <gtkmm/application.h>
#include <curl/curl.h>
#include <iostream>

int main(int argc, char *argv[]) {
    // 初始化 libcurl (全局一次)
    CURLcode curl_res = curl_global_init(CURL_GLOBAL_DEFAULT);
    if (curl_res != CURLE_OK) {
        std::cerr << "Fatal: Failed to initialize libcurl: " << curl_easy_strerror(curl_res) << std::endl;
        return 1;
    }

    // 创建 GTKmm Application
    // 对于 gtkmm-4.0, 使用 Gtk::Application::create()
    auto app = Gtk::Application::create(argc, argv, "org.example.gtkm डाउनलोडर");

    // 创建主窗口
    DownloaderWindow window;

    // 运行 GTK 主循环
    // 对于 gtkmm-4.0, 使用 app->run(window)
    int result = app->run(window);

    // 清理 libcurl
    curl_global_cleanup();

    return result;
}
